/*
 * Copyright � 2008 Nokia Corporation.
 */


#ifndef GRAPHICENGINE_H
#define GRAPHICENGINE_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>

class CFbsBitmap;

// CLASS DECLARATION
class CGraphicEngine : public CBase
    {
    public:
        ~CGraphicEngine ( );
        static CGraphicEngine* NewL ( );
        static CGraphicEngine* NewLC ( );

    public:
        // Set size for the bitmap
        void SetBitmapSize(TInt aIndex, TSize aSize);
        void SetSVGBitmapSize(TInt aIndex, TSize aSize);
        // Getting bitmap or mask
        CFbsBitmap* Bitmap(TInt aIndex);
        CFbsBitmap* BitmapSVG(TInt aIndex);

    private:
        CGraphicEngine ( );
        void ConstructL ( );

    private:
        void LoadBitmapsL();
        void LoadSVGBitmapsL();
        
    private:    
        RPointerArray<CFbsBitmap>  iBitmapArray;
        RPointerArray<CFbsBitmap>  iSVGBitmapArray;
    
    };

#endif // GRAPHICENGINE_H
